home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1989-06-10 | 35.2 KB | 993 lines
2 ' This programme is used to design MULTI SPANS CONTIUOUS BEAMS 3 ' This programme uses Advanced Basic Language (IBM - BASICA ) 4 ' This programme is saved under the name [ CBFLEX ] 5 ' Prepared by AMJAD J. SHAIR 23/2/1986 - 6 ' Accessed only from CONTBEAM programme 80 PSX(MAX.)=0.75*(4400/(FY+6090))*FC/FY ' Max. Ratio of Reinf' 90 PS(MIN.)=14/FY 2900 '-----------------------------------------Structural analysis calculations 2910 GOSUB 8500 'Display Heading & Material properties 2920 GOSUB 8800 'Calculation of Distribution Factors 2930 GOSUB 9300 'To Calculate Negative Moments using Moment Distribution 2940 GOSUB 7400 'To Calculate Reactions & Positive Moments 2945 GOSUB 8300 'To Calculate Negative Moments at face of supports 2950 '-------------- Display Data & Structural Analysis Output 2960 GOSUB 9700 'To round up results 2970 GOSUB 8600 'Display Heading 2980 ON N GOSUB 10000,10900 'Display Data & Srtuctural Analysis 2990 IF N>=3 THEN GOSUB 12000 3000 IF N=1 GOTO 3245 3010 COLOR 15,5 3020 INPUT " ENTER THE PERCENTAGE (%) OF REDUCTION ON NEGATIVE MOMENT (if required ) Enter Cr for no reduction required ",RDC 3030 COLOR 15,1 3040 IF RDC<=0 THEN RDC=0 :GOTO 3240 3050 IF RDC<=15 GOTO 3110 ELSE RDC=0 3060 PRINT :LOCATE ,10 :COLOR ,4 :BEEP 3070 PRINT " it is not advisable to apply more than 15 % reduction for M -ve " 3080 PRINT " *** Press SPACE BAR to continue *** "; 3090 Y$=INKEY$ :IF Y$<>" " THEN 3090 3100 IF Y$=" " THEN COLOR ,1 :PRINT :GOTO 2950 3110 FOR I=1 TO N 3120 IF I=1 AND LL>0 GOTO 3140 3130 MNL(I)=MNL(I)*(1-RDC/100) 3140 IF I=N AND LR>0 GOTO 3160 3150 MNR(I)=MNR(I)*(1-RDC/100) 3160 NEXT 3165 GOSUB 7050 ' Please wait signal 3170 GOSUB 7400 ' To Calculate Reactions & Positive Moments 3175 GOSUB 8300 'To Calculate Negative Moments at face of supports 3180 GOSUB 9700 ' Round up Structural Analysis Output 3190 GOSUB 8700 ' Display Heading & Basic Data 3200 ON N GOSUB 10000,10900 ' Display Data & Srtuctural Analysis 3210 IF N>=3 THEN GOSUB 12000 3220 PRINT " DO YOU WANT TO CHANGE THE PERCENTAGE OF REDUCTION (Y/N) ? "; 3225 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3225 3230 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :RDC=0 :GOTO 2930 3235 IF Y$="N" OR Y$="n" THEN PRINT " NO " 3240 PRINT 3245 GOSUB 8250 3250 PRINT " Maximum Moment to design for; Mu ="MU" t.m" 3300 '-----------------------------------------Design of Conc. Section & Reinf' 3310 PRINT :LOCATE ,3 :COLOR 0,7 3320 INPUT " ENTER THE TOTAL height OF BEAM SECTION h (cm) = ",H 3330 COLOR 15,1 3340 IF H >0 GOTO 3390 3350 PRINT :LOCATE ,3 :COLOR ,4 :BEEP 3360 INPUT "Zero HEIGHT can't be used , Do you want to RE-ENTER ? (Y/N)",Y$ 3370 COLOR ,1 :PRINT 3380 IF Y$="Y" GOTO 3320 ELSE GOTO 5910 3390 IF H>30 THEN D=H-5 ELSE D=H-4 3400 PS=PSX(MAX.) 'For Min. Concrete Section , Max. Reinf' 3410 GOSUB 6100 3420 B1=B :KU1=KU :PS1=PS :AS1=AS :NB1=NB :DIA1=DIA :ASP1=ASP 3430 PS=PSX(MAX.)*2/3 'For Moderate Concrete Section And Reinf' 3440 GOSUB 6100 3450 B2=B :KU2=KU :PS2=PS :AS2=AS :NB2=NB :DIA2=DIA :ASP2=ASP 3460 PS=PS(MIN.) 'For Max. Concrete Section , Min. Reinf' 3470 GOSUB 6100 3480 B3=B :KU3=KU :PS3=PS :AS3=AS :NB3=NB :DIA3=DIA :ASP3=ASP 3490 PRINT 3500 PRINT " 1- Use max.Reinf' b="B1"cm * Ku="KU1"* As="AS1"cm2 * REINF':"NB1;CHR$(237);DIA1 "mm" 3510 PRINT 3520 PRINT " 2- Use med.Reinf' b="B2"cm * Ku="KU2"* As="AS2"cm2 * REINF':"NB2;CHR$(237);DIA2 "mm" 3530 PRINT 3540 PRINT " 3- Use min.Reinf' b="B3"cm * Ku="KU3"* As="AS3"cm2 * REINF':"NB3;CHR$(237);DIA3 "mm" 3550 PRINT :LOCATE ,3 :COLOR 0,7 3560 INPUT " ENTER ANY width FOR THE BEAM WITHIN THE ABOVE LIMITS , b (cm) = ",B 3570 COLOR 15,1 3580 IF B<=0 OR B<B1 GOTO 3550 3590 GOSUB 7050 :GOSUB 7560 :GOSUB 7690 :GOSUB 6800 3600 IF DFS$="Y" OR DFS$="y" THEN MU=-MNF(1) ELSE MU=MNL(1) 3605 IF MU<MP(1)/3.5 THEN MU=MP(1)/3.5 3610 GOSUB 6600 3615 ASN(1)=AS :NBN(1)=NB :DIAN(1)=DIA :ASPN(1)=ASP 3620 FOR I=1 TO N 3625 IF DFS$="Y" OR DFS$="y" THEN MU=-MNF(I+1) ELSE MU=-MNR(I) 3630 IF I=N AND MU<MP(N)/3.5 THEN MU=MP(N)/3.5 3640 GOSUB 6600 3650 ASN(I+1)=AS :NBN(I+1)=NB :DIAN(I+1)=DIA :ASPN(I+1)=ASP 3660 NEXT 3670 FOR I= 1 TO N 3680 MU=MP(I) 3690 IF MU<0.86*MHSS(I) THEN MU=0.86*MHSS(I) 'compare to half simply supported moment 3700 GOSUB 6600 3710 ASP(I)=AS :NBP(I)=NB :DIAP(I)=DIA :ASPP(I)=ASP 3720 NEXT 3800 '-------------------------------------------------- Display Reinf' Details 3810 GOSUB 9900 3820 ON N GOSUB 10600,11500 3830 IF N>= 3 THEN GOSUB 12700 3840 PRINT " The reinforcement shown is for conc. sect. b ="B" cm * h ="H" cm" 3850 PRINT " Do you want to change the SECTION DIMENTIONS (Y/N) ? "; 3855 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3855 3860 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 2900 3865 IF Y$="N" OR Y$="n" THEN PRINT " NO " 3900 '---------------------------------------- Display & Modification of Reinf' 3910 GOSUB 9900 3920 ON N GOSUB 15200,15500 3930 IF N>=3 THEN GOSUB 16000 3940 PRINT " DO YOU WANT TO MODIFY THE REINFORCEMENT (Y/N) ? "; 3945 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 3945 3950 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 3960 3955 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 4210 3960 PRINT " ENTER <N> to modify Negative Reinf' or <P> to modify Positive Reinf' "; 3970 NPR$=INKEY$ :IF NPR$<>"N" AND NPR$<>"n" AND NPR$<>"P" AND NPR$<>"p" GOTO 3970 3980 IF NPR$="P" OR NPR$="p" THEN PRINT " P" :GOTO 4100 ELSE PRINT " N" 3990 INPUT " ENTER the Joint Number where to modify the Negative Reinf': ",JTN 3995 IF JTN<1 OR JTN>(N+1) GOTO 3990 4000 AS=ASN(JTN) 4010 PRINT " ENTER <N> to choose the req. Number of Bars or <D> to choose the Diameter "; 4015 CH$=INKEY$ :IF CH$<>"D" AND CH$<>"d" AND CH$<>"N" AND CH$<>"n" THEN 4015 4020 IF CH$="D" OR CH$="d" THEN PRINT " D" :GOTO 4060 ELSE PRINT " N" 4030 INPUT " ENTER the required Number of Steel Bars to be used : ",NB 4040 GOSUB 7200 4050 GOTO 4080 4060 INPUT " ENTER the required Diameter of Steel Bars to be used : ",DIA 4070 GOSUB 7300 4080 NBN(JTN)=NB :DIAN(JTN)=DIA :ASPN(JTN)=ASP 4090 GOTO 3900 4100 INPUT " ENTER the Span Number where to modify the Positive Reinf': ",SPN 4105 IF SPN<1 OR SPN>N GOTO 4100 4110 AS=ASP(SPN) 4120 PRINT " ENTER <N> to choose the req. Number of Bars or <D> to choose the Diameter "; 4125 CH$=INKEY$ :IF CH$<>"D" AND CH$<>"d" AND CH$<>"N" AND CH$<>"n" GOTO 4125 4130 IF CH$="D" OR CH$="d" THEN PRINT " D" :GOTO 4170 ELSE PRINT " N" 4140 INPUT " ENTER the required Number of Steel Bars to be used : ",NB 4150 GOSUB 7200 4160 GOTO 4190 4170 INPUT " ENTER the required Diameter of Steel Bars to be used : ",DIA 4180 GOSUB 7300 4190 NBP(SPN)=NB :DIAP(SPN)=DIA :ASPP(SPN)=ASP 4200 GOTO 3900 4210 LOCATE 24 4215 PRINT " *** Press SPACE BAR to continue *** "; 4220 Y$=INKEY$ :IF Y$<>" " THEN 4220 4225 PRINT :PRINT 4230 PRINT " CHOOSE ONE OF THE FOLLOWING :" :PRINT 4235 PRINT " 1 - PROCEED WITH THIS BEAM AND DESIGN FOR SHEAR " 4240 PRINT 4245 PRINT " 2 - REDESIGN THIS BEAM FOR FLEXURE " 4250 PRINT 4255 PRINT " 3 - END WORKING ON THIS BEAM " 4260 PRINT 4265 INPUT " ENTER YOUR CHOICE NUMBER ( 1 - 3 ) ",CNK 4270 IF CNK<1 OR CNK>3 GOTO 4265 4275 IF CNK=1 THEN CHAIN "CBSHEAR",,ALL 4280 IF CNK=3 GOTO 5100 4282 PRINT :PRINT 4284 PRINT " DO YOU WHANT TO CHECK BEAM SPANS AND LOADING FIRST ? (Y/N)"; 4286 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 4286 4288 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :CHAIN "CONTBEAM",2400,ALL 4290 IF Y$="N" OR Y$="n" THEN PRINT " NO " 4292 PRINT :PRINT 4294 PRINT " DO YOU WHANT TO RE-ENTER WIDTHS OF COLUMN SUPPORTS ? (Y/N)"; 4296 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 4296 4298 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :CHAIN "CONTBEAM",2800,ALL 4300 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 2900 5100 '-----------------------------------------------------Print Data & Results 5110 PRINT :PRINT :PRINT 5120 PRINT " DO YOU WHANT THIS BEAM DESIGN TO BE PRINTED (Y/N) ? "; 5130 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 5130 5140 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :CHAIN "CBPRINT",,ALL 5150 IF Y$="N" OR Y$="n" THEN PRINT " NO " :PRINT :GOTO 5910 5160 PRINT 5900 '-------------------------------------------------------End of Beam Design 5910 PRINT " DO YOU HAVE OTHER BEAMS TO DESIGN (Y/N) ? "; 5920 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 5920 5930 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :CHAIN "CONTBEAM",10 5940 IF Y$="N" OR Y$="n" THEN PRINT " NO " :PRINT :PRINT " [ YOU WILL BE SEND BACK TO THE RCDESIGN MAIN MENU ] " :CHAIN "RCDESIGN",2500 5990 END '------------------------------------------------------End of Running 6000 '-------------------- **** SUBROUTINES **** ------------------------------ 6010 '------SUBROUTINE To Find The Reinforcement for a known Section Dimensions 6020 WC=(1-SQR(1-2.36*MU*100000/(B*D^2*0.9*FC)))/1.18 6030 KU=0.9*FC*WC*(1-0.59*WC) 6040 ACD=(WC/0.85)*D 'depth of compression Whitny Block 6050 CCD=AC/0.85 'depth of nutral axis 6060 JUD=(1-0.59*WC)*D 6070 PS=WC*FC/FY 'steel ratio 6080 AS=PS*B*D 'area of steel reinf' 6090 RETURN 6100 '- SUBROUTINE To Find The Width of Beam and Reinf' for a given steel ratio 6110 WC=PS*FY/FC 6120 KU=CINT(0.9*FC*WC*(1-0.59*WC)*100)/100 6130 AC=WC/0.85 6140 CC=AC/0.85 6150 JU=1-0.59*WC 6160 B=CINT(MU*100000/(KU*D^2)) 6170 AS=CINT(PS*B*D*100)/100 6180 NB=CINT(B/10) 6190 IF NB<2 THEN NB=2 6200 DIA=2+2*INT(SQR(4*100*AS*0.9495/(3.14159*NB))/2) 6210 IF DIA<10 THEN DIA=10 6220 IF DIA<24 GOTO 6250 6230 DIA=25 6240 NB=1+INT(AS/4.908) 6250 ASP=NB*3.14159*(DIA/10)^2/4 6260 ASP=(CINT(ASP*100))/100 6270 RETURN 6300 '-------- Subroutine to choose the suitable Reinf'for Max. Positive Moment 6310 PRINT 6320 FOR G=1 TO 3 6330 NB=INT(B/10-2+G) 6340 IF NB<2 THEN NB=2 6350 DIA=2+2*INT(SQR(4*100*AS*0.9495/(3.14159*NB))/2) 6360 IF DIA<10 THEN DIA=10 6370 IF DIA<24 GOTO 6400 6380 DIA=25 6390 NB=1+INT(AS/4.908) 6400 ASP=NB*3.14159*(DIA/10)^2/4 6410 PRINT " "G" - "NB;CHR$(237);DIA"mm , As(provided) ="ASP" cm2" 6420 NEXT 6430 PRINT 6440 INPUT " CHOOSE THE SUITABLE REINF' No. ",G 6450 IF G<1 OR G>3 GOTO 6430 6460 NB=INT(B/10-2+G) 6470 IF NB<2 THEN NB=2 6480 DIA=2+2*INT(SQR(4*100*AS*0.9495/(3.14159*NB))/2) 6490 IF DIA<10 THEN DIA=10 6500 IF DIA<24 GOTO 6530 6510 DIA=25 6520 NB=1+INT(AS/4.908) 6530 ASP=NB*3.14159*(DIA/10)^2/4 6540 ASP=(CINT(ASP*100))/100 6550 RETURN 6600 '---------------------------------- SUBROUTINE - To find the Reinforcement 6610 ' for a known Section Dimensions 6620 WC=(1-SQR(1-2.36*MU*100000/(B*D^2*0.9*FC)))/1.18 6630 KU=0.9*FC*WC*(1-0.59*WC) 6640 ACD=(WC/0.85)*D 'depth of compression Whitny Block 6650 CCD=AC/0.85 'depth of nutral axis 6660 JUD=(1-0.59*WC)*D 6670 PS=WC*FC/FY 'steel ratio 6680 AS=PS*B*D 'area of steel reinf' 6690 AS(MIN.)=PS(MIN.)*B*D 6700 IF AS<AS(MIN.) THEN AS=AS(MIN.) 6710 NB=CINT(B/10) 6720 IF NB<2 THEN NB=2 6730 DIA=2+2*INT(SQR(4*100*AS*0.9495/(3.14159*NB))/2) 6740 IF DIA<10 THEN DIA=10 6750 IF DIA>=24 THEN DIA=25 6760 AB=3.14159*DIA^2/400 6770 NB =1+INT(AS*0.95/AB) 6775 IF NB<2 THEN NB=2 6780 ASP=NB*3.14159*(DIA/10)^2/4 6790 RETURN 6800 '------------------ SUBROUTINE To find Beam Section and Reinf' Limitations 6810 PSX(MAX.)=0.75*(4400/(FY+6090))*FC/FY ' Max. Ratio of Reinf' 6820 WC(MAX.)=PSX(MAX.)*FY/FC 6830 ASX(MAX.)=PSX(MAX.)*B*D 6840 KU(MAX.)=0.9*FC*WC(MAX.)*(1-0.59*WC(MAX.)) 6850 ACD(MAX.)=WC(MAX.)*D/0.85 'Depth of comp. Whitny Block 6860 CCD(MAX.)= ACD(MAX.)/0.85 'Depth of Nutral Axis 6870 JUD(MAX.)=(1-0.59*WC(MAX.))*D 'Liver Arm 6880 MU(MAX.)=KU(MAX.)*B*D^2/100000 'Max. Moment Capacity of Rib 6890 PS(MIN.)=14.05/FY 6900 AS(MIN.)=PS(MIN.)*B*D 6910 PSX(MAX.)=(CINT(PSX(MAX.)*10000))/10000 6920 WC(MAX.)=(CINT(WC(MAX.)*100))/100 6930 ASX(MAX.)=(CINT(ASX(MAX.)*100))/100 6940 KU(MAX.)=(CINT(KU(MAX.)*100))/100 6950 ACD(MAX.)=(CINT(ACD(MAX.)*100))/100 6960 CCD(MAX.)=(CINT(CCD(MAX.)*100))/100 6970 JUD(MAX.)=(CINT(JUD(MAX.)*100))/100 6980 MU(MAX.)=(CINT(MU(MAX.)*100))/100 6990 PS(MIN.)=(CINT(PS(MIN.)*10000))/10000 7000 AS(MIN.)=(CINT(AS(MIN.)*100))/100 7010 RETURN 7050 '----------------------------- SUBROUTINE asking to wait for end of signal 7055 COLOR 31,0 :LOCATE ,18 7060 PRINT " **** P L E A S E W A I T **** " 7065 COLOR 15,1 7070 RETURN 7200 '---------------------------------------SUBROUTINE to find Bars Diameter 7210 DIA=2+2*INT(SQR(4*100*AS*0.9495/(3.14159*NB))/2) 7220 IF DIA<10 THEN DIA=10 7230 IF DIA<24 GOTO 7250 7240 DIA=25 7250 ASP=NB*3.14159*(DIA/10)^2/4 7260 RETURN 7300 '---------------------------------------SUBROUTINE to find Number of Bars 7310 AB=3.14159*DIA^2/400 7320 NB =1+INT(AS*0.9495/AB) 7330 IF NB<2 THEN NB=2 7340 ASP=NB*3.14159*(DIA/10)^2/4 7350 RETURN 7400 '-------------------- SUBROUTINE to calculate Reactions & Positive Moments 7410 FOR I= 1 TO N 7415 RL(I)=RLS(I)+(MNL(I)+MNR(I))/L(I) 7420 RR(I)=RRS(I)-(MNL(I)+MNR(I))/L(I) 7425 IF RL(I)>0 AND RR(I)>0 GOTO 7440 7430 IF RL(I)>0 THEN XL(I)=L(I) :MP(I)=MNR(I) :GOTO 7555 7435 IF RR(I)>0 THEN XL(I)=0 :MP(I)=MNL(I) :GOTO 7555 7440 IF Z(I)>0 OR Q(I)>0 GOTO 7510 7445 'case with uniform & cocentrated load 7450 XL(I)=RL(I)/W(I) 7455 MP(I)=RL(I)*XL(I)-W(I)*XL(I)^2/2-MNL(I) 7460 IF J(I)<=0 GOTO 7555 7465 J=1 7470 IF XL(I)<=X(I,J) GOTO 7490 7475 XL(I)=XL(I)-F(I,J)/W(I) 7480 IF XL(I)<=X(I,J) THEN XL(I)=X(I,J) :GOTO 7490 7485 IF J<J(I) THEN J=J+1 :GOTO 7470 ELSE J=J+1 7490 MP(I)=RL(I)*XL(I)-W(I)*XL(I)^2/2-MNL(I) 7495 FOR J=1 TO J-1 7500 MP(I)=MP(I)-F(I,J)*(XL(I)-X(I,J)) 7505 NEXT :GOTO 7555 7510 'case with UNIFORM BLOCK LOAD and/or TRIANGULAR LOAD 7515 XL=L(I)/2 :RL=RL(I) :MNL=MNL(I) 7520 GOSUB 7900 7525 GOSUB 8000 7530 IF V=0 THEN MP(I)=MP :XL(I)=XL :GOTO 7555 7535 IF V<0 GOTO 7550 7540 M1=MP :XL=XL+0.05 :GOSUB 8000 7545 IF MP>M1 GOTO 7540 ELSE XL(I)=XL-0.05 :MP(I)=M1 :GOTO 7555 7550 M1=MP :XL=XL-0.05 :GOSUB 8000 7552 IF MP>M1 GOTO 7550 ELSE XL(I)=XL+0.05 :MP(I)=M1 7555 NEXT I 7558 RETURN 7560 '------------------------- SUBROUTINE to find half simply supported moment 7562 FOR I= 1 TO N 7565 IF Z(I)>0 OR Q(I)>0 GOTO 7640 7568 'case with UNIFORMLY DISTRIBUTED LOAD AND CONCENTRATED LOADS 7570 XLSS(I)=RLS(I)/W(I) 7575 MHSS(I)=W(I)*L(I)^2/16 7580 IF J(I)<=0 GOTO 7685 7585 J=1 7590 IF XLSS(I)<=X(I,J) GOTO 7610 7595 XLSS(I)=XLSS(I)-F(I,J)/W(I) 7600 IF XLSS(I)<=X(I,J) THEN XLSS(I)=X(I,J) :GOTO 7610 7605 IF J<J(I) THEN J=J+1 :GOTO 7590 ELSE J=J+1 7610 MPSS(I)=RLS(I)*XLSS(I)-W(I)*XLSS(I)^2/2 7615 FOR J=1 TO J-1 7620 MPSS(I)=MPSS(I)-F(I,J)*(XLSS(I)-X(I,J)) 7625 NEXT 7630 MHSS(I)=MPSS(I)/2 :GOTO 7685 7640 'case with UNIFORM BLOCK LOAD and/or TRIANGULAR LOAD 7645 XL=L(I)/2 :RL=RLS(I) :MNL=0 7650 GOSUB 7900 7655 GOSUB 8000 7660 IF V=0 THEN MHSS(I)=MP/2 :GOTO 7685 7665 IF V<0 GOTO 7680 7670 M1=MP :XL=XL+0.05 :GOSUB 8000 7675 IF MP>M1 GOTO 7670 ELSE MHSS(I)=M1/2 :GOTO 7685 7680 M1=MP :XL=XL-0.05 :GOSUB 8000 7682 IF MP>M1 GOTO 7680 ELSE MHSS(I)=M1/2 7685 NEXT I 7688 RETURN 7690 '----------------------------------- SUBROUTINE to find the cutoffs points 7692 FOR I = 1 TO N 7695 'find cutoff point from left support 7698 IF MNL(I)<=0 AND MNR(I)>=0 THEN XCL(I)=0 :GOTO 7790 7700 IF MNL(I)>=0 AND MNR(I)<=0 AND MP(I)<=0 THEN XCL(I)=0 :GOTO 7790 7705 IF MNL(I)<=0 AND MNR(I)<=0 THEN XCL(I)=0 :GOTO 7790 7710 IF Z(I)>0 OR Q(I)>0 GOTO 7755 7715 AL=W(I)/2 :BL=RL(I) :CL=MNL(I) 7720 XCL(I)=(BL-SQR(BL^2-4*AL*CL))/(2*AL) 7725 IF J(I)<=0 GOTO 7790 7730 J=1 7735 IF XCL(I)<=X(I,J) GOTO 7790 7740 BL=BL-F(I,J) :CL=CL-F(I,J)*X(I,J) 7745 XCL(I)=(BL-SQR(BL^2-4*AL*CL))/(2*AL) 7750 IF J<J(I) THEN J=J+1 :GOTO 7735 7752 GOTO 7790 7755 'case of UNIFORM BLOCK LOAD & TRIANGULER LOAD 7760 XL=0 :RL=RL(I) :MNL=MNL(I) :M1=-MNL(I) 7765 IF XL<L(I)-0.05 THEN XL=XL+0.05 :GOSUB 8000 ELSE XCL(I)=0 :GOTO 7790 7770 IF MP<0 THEN M1=MP :GOTO 7765 7775 IF MP=0 THEN XCL(I)=XL :GOTO 7790 7780 IF MP>0 THEN XCL(I)=XL-0.05*MP/(MP-M1) 7790 'find cutoff point from right support 7795 IF MNL(I)<=0 AND MNR(I)>=0 THEN XCR(I)=0 :GOTO 7890 7800 IF MNL(I)>=0 AND MNR(I)<=0 AND MP(I)<=0 THEN XCR(I)=0 :GOTO 7890 7805 IF MNL(I)>=0 AND MNR(I)>=0 THEN XCR(I)=0 :GOTO 7890 7810 IF Z(I)>0 OR Q(I)>0 GOTO 7855 7815 AR=W(I)/2 :BR=RR(I) :CR=-MNR(I) 7820 XCR(I)=(BR-SQR(BR^2-4*AR*CR))/(2*AR) 7825 IF J(I)<=0 GOTO 7890 7830 J=J(I) 7835 IF XCR(I)<=(L(I)-X(I,J)) GOTO 7890 7840 BR=BR-F(I,J) :CR=CR+F(I,J)*X(I,J)-F(I,J)*L(I) 7845 XCR(I)=(BR-SQR(BR^2-4*AR*CR))/(2*AR) 7850 IF J>1 THEN J=J-1 :GOTO 7835 7852 GOTO 7890 7855 'case of UNIFORM BLOCK LOAD & TRIANGULER LOAD 7860 XL=L(I) :RL=RL(I) :MNL=MNL(I) :M1=MNR(I) 7865 IF XL>0.05 THEN XL=XL-0.05 :GOSUB 8000 ELSE XCR(I)=0 :GOTO 7890 7870 IF MP<0 THEN M1=MP :GOTO 7865 7875 IF MP=0 THEN XCR(I)=L(I)-XL :GOTO 7890 7880 IF MP>0 THEN XCR(I)=L(I)-XL-0.05*MP/(MP-M1) 7890 NEXT I 7895 RETURN 7900 '----------------------- SUBROUTINE TO FIND SHEAR FORCE AT A CERTAIN POINT 7910 V=RL-W(I)*XL 7915 IF J(I)<=0 GOTO 7935 7920 FOR J=1 TO J(I) 7925 IF XL>X(I,J) THEN V=V-F(I,J) 7930 NEXT J 7935 IF Z(I)<=0 GOTO 7965 7940 FOR Z=1 TO Z(I) 7945 IF XL<=A3(I,Z) GOTO 7960 7950 IF XL<(A3(I,Z)+B3(I,Z)) THEN D3=XL-A3(I,Z) ELSE D3=B3(I,Z) 7955 V=V-D3*W3(I,Z) 7960 NEXT 7965 IF Q(I)<=0 GOTO 7998 7970 FOR Q=1 TO Q(I) 7975 IF XL<=A5(I,Q) GOTO 7995 7980 IF C5(I,Q)=A5(I,Q) GOTO 7990 7985 IF XL<C5(I,Q) THEN V=V-(W5(I,Q)/(C5(I,Q)-A5(I,Q)))*(XL-A5(I,Q))^2/2 :GOTO 7995 7988 IF C5(I,Q)=(A5(I,Q)+B5(I,Q)) GOTO 7992 7990 IF XL<(A5(I,Q)+B5(I,Q)) THEN V=V-W5(I,Q)*B5(I,Q)/2+(W5(I,Q)/(A5(I,Q)+B5(I,Q)-C5(I,Q)))*(A5(I,Q)+B5(I,Q)-XL)^2/2 :GOTO 7995 7992 IF XL>= (A5(I,Q)+B5(I,Q)) THEN V=V-W5(I,Q)*B5(I,Q)/2 7995 NEXT 7998 RETURN 8000 '----------------------- SUBROUTINE TO FIND THE MOMENT AT A CERTAIN POINT 8010 MP=RL*XL-W(I)*XL^2/2-MNL 8020 IF J(I)<=0 GOTO 8060 8030 FOR J=1 TO J(I) 8040 IF XL>X(I,J) THEN MP=MP-F(I,J)*(XL-X(I,J)) 8050 NEXT 8060 IF Z(I)<=0 GOTO 8110 8070 FOR Z=1 TO Z(I) 8080 IF XL<=A3(I,Z) GOTO 8100 8090 IF XL<=(A3(I,Z)+B3(I,Z)) THEN MP=MP-W3(I,Z)*(XL-A3(I,Z))^2/2 ELSE MP=MP-W3(I,Z)*B3(I,Z)*(XL-A3(I,Z)-B3(I,Z)/2) 8100 NEXT 8110 IF Q(I)<=0 GOTO 8200 8120 FOR Q= 1 TO Q(I) 8130 IF XL<=A5(I,Q) GOTO 8180 8140 IF C5(I,Q)=A5(I,Q) GOTO 8160 8150 IF XL<=C5(I,Q) THEN MP=MP-(W5(I,Q)/(C5(I,Q)-A5(I,Q)))*(XL-A5(I,Q))^3/6 :GOTO 8180 8155 IF C5(I,Q)=(A5(I,Q)+B5(I,Q)) GOTO 8170 8160 IF XL<=(A5(I,Q)+B5(I,Q)) THEN WR5=W5(I,Q)*(A5(I,Q)+B5(I,Q)-XL)/(A5(I,Q)+B5(I,Q)-C5(I,Q)) :MP=MP-(W5(I,Q)*(C5(I,Q)-A5(I,Q))/2)*(XL-A5(I,Q)-(C5(I,Q)-A5(I,Q))*2/3)-WR5*(XL-C5(I,Q))^2/2-(W5(I,Q)-WR5)*(XL-C5(I,Q))^2/3 :GOTO 8180 8170 IF XL>(A5(I,Q)+B5(I,Q)) THEN MP=MP-(W5(I,Q)*(C5(I,Q)-A5(I,Q))/2)*(XL-A5(I,Q)-(C5(I,Q)-A5(I,Q))*2/3)-(W5(I,Q)*(A5(I,Q)+B5(I,Q)-C5(I,Q))/2)*(XL-C5(I,Q)-(A5(I,Q)+B5(I,Q)-C5(I,Q))/3) 8180 NEXT 8200 RETURN 8250 '------------------------ SUBROUTINE TO FIND MAXIMUM MOMENT TO DESIGN FOR. 8252 MU=0 8254 IF DFS$="Y" OR DFS$="y" GOTO 8270 8256 FOR I=1 TO N 8258 IF MU<MNL(I) THEN MU=MNL(I) 8260 IF MU<-MNR(I) THEN MU=-MNR(I) 8262 IF MU<MP(I) THEN MU=MP(I) 8264 NEXT 8266 GOTO 8285 8270 FOR I=1 TO N+1 8272 IF MU<-MNF(I) THEN MU=-MNF(I) 8274 NEXT 8276 FOR I=1 TO N 8278 IF MU<MP(I) THEN MU=MP(I) 8280 NEXT 8285 RETURN 8300 '------------------ SUBROUTINE TO FIND NEGATIVE MOMENT AT FACE OF SUPPORT 8302 IF LL<=0 GOTO 8320 8305 LLF=LL-BS(1)/200 8308 MLCF=-WL*LLF^2/2 8310 IF IL<=0 GOTO 8320 8312 FOR I=1 TO IL 8315 MLCF=MLCF-FL(I)*(LLF-XFL(I)) 8318 NEXT 8320 MNLF(1)=MNL(1)-RL(1)*BS(1)/300 8322 IF MNLF(1)>-MLCF THEN MNF(1)=-MNLF(1) ELSE MNF(1)=MLCF 8325 IF N=1 GOTO 8340 8328 FOR I=2 TO N 8330 MNRF(I-1)=MNR(I-1)+RR(I-1)*BS(I)/300 8332 MNLF(I)=MNL(I)-RL(I)*BS(I)/300 8335 IF MNLF(I)>-MNRF(I-1) THEN MNF(I)=-MNLF(I) ELSE MNF(I)=MNRF(I-1) 8338 NEXT 8340 IF LR<=0 GOTO 8358 8342 LRF=LR-BS(N)/200 8345 MRCF=WR*LRF^2/2 8348 IF IR<=0 GOTO 8358 8350 FOR I=1 TO IR 8352 MRCF=MRCF+FR(I)*(LRF-XFR(I)) 8355 NEXT 8358 MNRF(N)=MNR(N)+RR(N)*BS(N+1)/300 8360 IF MRCF>-MNRF(N) THEN MNF(N+1)=-MRCF ELSE MNF(N+1)=MNRF(N) 8370 FOR I=1 TO N+1 8375 MNF(I)=CINT(MNF(I)*100)/100 8380 NEXT 8385 RETURN 8400 '------------------------------------------------- Display Invalid Entries 8410 PRINT :LOCATE ,6 :COLOR ,4 : BEEP 8420 PRINT " *** YOU WERE GIVEN TWO CHANCES TO ENTER , BUT YOU FAILED *** "TAB(72)"" :COLOR ,1 8430 PRINT :LOCATE ,6 :COLOR ,4 8440 PRINT " *** ENTER Y TO REDO THIS BEAM OR TO GO FOR OTHER BEAMS *** "TAB(72)"" :COLOR ,1 8450 PRINT 8460 GOTO 5900 8500 '------------------------------ SUBROUTINE : Display Heading & Basic Data 8510 CLS :LOCATE 2,3 :COLOR 15,5 8520 PRINT " **** CONTINUOUS BEAM DESIGN * B"NMB" -B"NMBL" ****" TAB(78)"" 8540 LOCATE ,3 :PRINT " MATERIAL PROPERTIES : Conc. f'c ="FC"kg/cm2 * Steel fy ="FY"kg/cm2" TAB(78)"" 8550 COLOR 15,1 :PRINT 8560 RETURN 8600 '------------------------------ SUBROUTINE : Display Heading & Basic Data 8610 CLS :LOCATE 2,3 :COLOR 15,5 8620 PRINT " **** CONTINUOUS BEAM DESIGN * B"NMB" -B"NMB+N-1" ****" TAB(78)"" 8630 COLOR 15,1 :PRINT 8640 PRINT " FOR EXACT NEGATIVE MOMENTS " 8650 PRINT 8660 RETURN 8700 '------------------------------ SUBROUTINE : Display Heading & Basic Data 8710 CLS :LOCATE 2,3 :COLOR 15,5 8720 PRINT " **** CONTINUOUS BEAM DESIGN * B"NMB" -B"NMB+N-1" ****" TAB(78)"" 8730 COLOR 15,1 :PRINT 8740 PRINT " FOR NEGATIVE MOMENTS REDUCED BY "RDC"%" 8750 PRINT 8760 RETURN 8800 '--------------------------------- SUBROUTINE to find Distribution Factors 8805 IF LL>0 THEN PRINT " LEFT END SUPPORT IS HINGED BECAUSE THE BEAM HAS LEFT END CANTILEVER ":DFL(1)=1 :GOTO 8830 8810 PRINT " IS THE FAR LEFT END SUPPORT FIXED (Y/N) ? "; 8815 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 8815 8820 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :DFL(1)=0 8825 IF Y$="N" OR Y$="n" THEN PRINT " NO " :DFL(1)=1 8830 PRINT 8835 IF LR>0 THEN PRINT " RIGHT END SUPPORT IS HINGED BECAUSE THE BEAM HAS RIGHT END CANTILEVER ":DFR(N)=1 :GOTO 8860 8840 PRINT " IS THE FAR RIGHT END SUPPORT FIXED (Y/N) ? "; 8845 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 8845 8850 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :DFR(N)=0 8855 IF Y$="N" OR Y$="n" THEN PRINT " NO " :DFR(N)=1 8860 PRINT : GOTO 8890 8870 PRINT " DO YOU HAVE DIFFERENT CROSS SECTION FOR EACH SPAN (Y/N) ? "; 8875 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 8875 8880 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 8930 8885 IF Y$="N" OR Y$="n" THEN PRINT " NO " 8890 FOR I=1 TO N 8900 INR(I)=1 8910 NEXT 8920 GOTO 9130 8930 PRINT 8940 PRINT " CAN YOU ENTER THE CROSS SECT. DIMN. FOR EACH SPAN (Y/N) ? "; 8945 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 8945 8950 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 9040 8955 IF Y$="N" OR Y$="n" THEN PRINT " NO " 8960 PRINT 8970 PRINT " ** ENTER RELATIVE MOMENT OF INERTIA FOR EACH SPAN (I) ** " 8980 FOR I= 1 TO N 8990 PRINT 9000 PRINT " SPAN B"NMB+I-1": I (relative) ="; 9010 INPUT INR(I) 9020 NEXT 9030 GOTO 9130 9040 PRINT 9050 PRINT " ** ENTERING CROSS SECTION DIMENTIONS FOR EACH SPAN ** " 9060 FOR I= 1 TO N 9070 PRINT 9080 PRINT " SPAN B"NMB+I-1 9090 INPUT " ENTER WIDTH OF CROSS SECTION b (cm) ",BI(I) 9100 INPUT " ENTER DEPTH OF CROSS SECTION h (cm) ",HI(I) 9110 INR(I)=BI(I)*HI(I)^3/12 9120 NEXT 9130 FOR I= 1 TO N-1 9140 DFR(I)=(INR(I)/L(I))/(INR(I)/L(I)+INR(I+1)/L(I+1)) 9150 DFL(I+1)=1-DFR(I) 9160 NEXT 9170 PRINT :PRINT 9180 PRINT :LOCATE ,6 :COLOR 0,7 9190 PRINT " DO YOU WANT TO RE-ENTER DATA FOR DISTRIB. FACTORS (Y/N) ? "; 9195 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 9195 9200 IF Y$="Y" OR Y$="y" THEN COLOR 15,1 :PRINT " YES" :PRINT :GOTO 8800 9210 IF Y$="N" OR Y$="n" THEN COLOR 15,1 :PRINT " NO " 9220 RETURN 9300 '------------------------------------ SUBROUTINE FOR MOMENT DISTRIBUTION 9310 MFR(0)=MLC 9320 MFL(N+1)=MRC 9330 FOR I= 1 TO N 9340 MBL(I,1)=-(MFR(I-1)+MFL(I))*DFL(I) 9350 MBR(I,1)=-(MFR(I)+MFL(I+1))*DFR(I) 9360 NEXT I 9370 PRINT :PRINT :PRINT 9375 COLOR 31,0 :LOCATE ,18 9380 PRINT " **** P L E A S E W A I T **** " 9385 COLOR 15,1 9390 FOR C=2 TO 6 'moment distribution will be repeated in 6 circles 9400 FOR I= 1 TO N 9410 MCL(I,C)=MBR(I,C-1)/2 9420 MCR(I,C)=MBL(I,C-1)/2 9430 NEXT I 9440 FOR I= 1 TO N 9450 MBL(I,C)=-(MCR(I-1,C)+MCL(I,C))*DFL(I) 9460 MBR(I,C)=-(MCR(I,C)+MCL(I+1,C))*DFR(I) 9470 NEXT I 9480 NEXT C 9490 FOR I= 1 TO N 9500 MNL(I)=MFL(I) 9510 FOR C= 1 TO 6 9520 MNL(I)=MNL(I)+MCL(I,C)+MBL(I,C) 9530 NEXT C 9540 NEXT I 9550 FOR I= 1 TO N 9560 MNR(I)=MFR(I) 9570 FOR C= 1 TO 6 9580 MNR(I)=MNR(I)+MCR(I,C)+MBR(I,C) 9590 NEXT C 9600 NEXT I 9610 RETURN 9700 '------------------------ SUBROUTINE : Round up Structural Analysis Output 9710 FOR I= 1 TO N 9720 MLC=(CINT(MLC*100.04))/100 9730 RLC=(CINT(RLC*100.04))/100 9740 MRC=(CINT(MRC*100.04))/100 9750 RRC=(CINT(RRC*100.04))/100 9760 MNL(I)=(CINT(MNL(I)*100.04))/100 9770 MNR(I)=(CINT(MNR(I)*100.04))/100 9780 RL(I)=(CINT(RL(I)*100.04))/100 9790 RR(I)=(CINT(RR(I)*100.04))/100 9800 XL(I)=(CINT(XL(I)*100.04))/100 9810 MP(I)=(CINT(MP(I)*100.04))/100 9840 NEXT 9850 RETURN 9900 '------------------------------ SUBROUTINE : Round up Reinf' Design Output 9910 FOR I= 1 TO N+1 9912 XCL(I)=(CINT(XCL(I)*100.04))/100 9915 XCR(I)=(CINT(XCR(I)*100.04))/100 9920 AC(I)=(CINT(AC(I)*100))/100 9930 ASN(I)=(CINT(ASN(I)*100))/100 9940 ASP(I)=(CINT(ASP(I)*100))/100 9950 ASPN(I)=(CINT(ASPN(I)*100))/100 9960 ASPP(I)=(CINT(ASPP(I)*100))/100 9970 NEXT 9980 RETURN 10000 '-------------- SUBROUTINE : Display Structural Analysis * ONE SPAN BEAM 10010 LT=LL+L(1)+LR 10020 XXL=CINT(LL/LT*38) 10030 XX1=CINT(L(1)/LT*38) 10040 XXR=CINT(LR/LT*38) 10050 XXT=XXL+XX1+XXR+2 10060 AA$=STRING$(XXT,196) :AB$=CHR$(221) :AC$=STRING$(XXT,205) 10070 ZA=36+CINT(XXL/2)-3 10080 ZB=36+XXL 10090 ZC=ZB+CINT(XX1/2)-2 10100 ZD=ZB+XX1+1 10110 ZE=ZD+CINT(XXR/2)-2 10120 COLOR 0,7 10130 PRINT " JOINT NUMBER ................"TAB(ZB)"1" TAB(ZD)"2" TAB(80) "" 10140 PRINT " " TAB(36) AC$ TAB(80) "" 10150 PRINT " SPAN NUMBER ................"; 10160 IF LL<=0 GOTO 10180 10170 PRINT TAB(ZA)"L/C"; 10180 PRINT TAB(ZB)AB$ TAB(ZC) "SPAN 1" TAB(ZD) AB$; 10190 IF LR<=0 GOTO 10210 10200 PRINT TAB(ZE) "R/C"; 10210 PRINT TAB(80)"" 10220 PRINT TAB(ZB) AB$ TAB(ZD) AB$ TAB(80)"" 10230 PRINT " SPAN LENGTH (m).........."; 10240 IF LL<=0 GOTO 10260 10250 PRINT TAB(ZA) LL; 10260 PRINT TAB(ZB)AB$ TAB(ZC) L(1) TAB(ZD) AB$; 10270 IF LR<=0 GOTO 10290 10280 PRINT TAB(ZE) LR; 10290 PRINT TAB(80)"" 10300 PRINT TAB(ZB) AB$ TAB(ZD) AB$ TAB(80)"" 10310 PRINT " SPAN LOAD (t/m)........"; 10320 IF WL<=0 GOTO 10340 10330 PRINT TAB(ZA) WL; 10340 PRINT TAB(ZB)AB$ TAB(ZC) W(1) TAB(ZD) AB$; 10350 IF WR<=0 GOTO 10370 10360 PRINT TAB(ZE) WR; 10370 PRINT TAB(80)"" 10380 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 10390 PRINT " NEGATIVE MOMENT (t.m)........"TAB(ZB-2) -MNL(1) TAB(ZD-2) MNR(1) TAB(80)"" 10392 IF DFS$="N" OR DFS$="n" GOTO 10400 10394 PRINT " Mu-ve AT FACE OF SUPPORT....."TAB(ZB-2) MNF(1) TAB(ZD-2) MNF(2) TAB(80)"" 10400 PRINT " " TAB(36) AA$ TAB(80) "" 10410 PRINT " SUPP. REACTIONS (t).........."; 10420 IF LL<=0 GOTO 10440 10430 PRINT TAB(ZB-7) RLC; 10440 PRINT TAB(ZB) AB$ TAB(ZB+1) RL(1) TAB(ZD-7) RR(1) TAB(ZD) AB$; 10450 IF LR<=0 GOTO 10470 10460 PRINT TAB(ZD+1) RRC; 10470 PRINT TAB(80)"" 10480 PRINT TAB(ZB) AB$ TAB(ZD) AB$ TAB(80)"" 10490 PRINT " Lft Dstc. of M+max(m)........"TAB(ZB) AB$ TAB(ZC) XL(1) TAB(ZD) AB$ TAB(80)"" 10500 PRINT TAB(ZB) AB$ TAB(ZD) AB$ TAB(80)"" 10510 PRINT " POSITIVE MOMENT (t.m)........"TAB(ZB) AB$ TAB(ZC) MP(1) TAB(ZD) AB$ TAB(80)"" 10520 PRINT :COLOR 15,1 10530 RETURN 10600 '-------------------- SUBROUTINE : Display Reinf' Details * ONE SPAN BEAM 10610 GOSUB 8500 10620 COLOR 0,7 10630 PRINT " JOINT NUMBER ................"TAB(ZB)"1" TAB(ZD)"2" TAB(80) "" 10640 PRINT " " TAB(36) AC$ TAB(80) "" 10650 PRINT " SPAN NUMBER ................"; 10660 IF LL<=0 GOTO 10680 10670 PRINT TAB(ZA)"L/C"; 10680 PRINT TAB(ZB)AB$ TAB(ZC) "SPAN 1" TAB(ZD) AB$; 10690 IF LR<=0 GOTO 10710 10700 PRINT TAB(ZE) "R/C"; 10710 PRINT TAB(80)"" 10720 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 10730 PRINT " NEGATIVE MOMENT (t.m)........"TAB(ZB-2) -MNL(1) TAB(ZD-2) MNR(1) TAB(80)"" 10732 IF DFS$="N" OR DFS$="n" GOTO 10740 10734 PRINT " Mu-ve AT FACE OF SUPPORT....."TAB(ZB-2) MNF(1) TAB(ZD-2) MNF(2) TAB(80)"" 10740 PRINT " " TAB(36) AA$ TAB(80) "" 10750 PRINT " POSITIVE MOMENT (t.m)........"TAB(ZB) AB$ TAB(ZC) MP(1) TAB(ZD) AB$ TAB(80)"" 10760 PRINT TAB(ZB) AB$ TAB(ZD) AB$ TAB(80)"" 10770 PRINT " CUT OFF POINTS (m).........." TAB(ZB) AB$ TAB(ZB+1) XCL(1) TAB(ZD-6) XCR(1) TAB(ZD) AB$ TAB(80)"" 10780 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 10790 PRINT " As (req) TOP (cm2)........"TAB(ZB-2) ASN(1) TAB(ZD-2) ASN(2) TAB(80)"" 10800 PRINT " " TAB(36) AA$ TAB(80)"" 10810 PRINT " As (req) BOTTOM (cm2)........"TAB(ZB) AB$ TAB(ZC) ASP(1) TAB(ZD) AB$ TAB(80)"" 10820 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 10830 PRINT " REINF' - TOP ............."TAB(ZB-2) NBN(1);CHR$(237);DIAN(1)"mm" TAB(ZD-5) NBN(2);CHR$(237);DIAN(2)"mm" TAB(80)"" 10840 PRINT " " TAB(36) AA$ TAB(80) "" 10850 PRINT " REINF' - BOTTOM ............."TAB(ZB) AB$ TAB(ZC) NBP(1);CHR$(237);DIAP(1)"mm" TAB(ZD) AB$ TAB(80)"" 10860 COLOR 15,1 :PRINT 10870 RETURN 10900 '------------- SUBROUTINE : Display Structural Analysis * TWO SPANS BEAM 10910 LT=LL+L(1)+L(2)+LR 10920 XXL=CINT(LL/LT*50) 10930 XX1=CINT(L(1)/LT*50) 10940 XX2=CINT(L(2)/LT*50) 10950 XXR=CINT(LR/LT*50) 10960 XXT=XXL+XX1+XX2+XXR+3 10970 AA$=STRING$(XXT,196) :AB$=CHR$(221) :AC$=STRING$(XXT,205) 10980 ZA=23+CINT(XXL/2)-3 10990 ZB=23+XXL 11000 ZC=ZB+CINT(XX1/2)-2 11010 ZF=ZB+XX1+1 11020 ZG=ZF+CINT(XX2/2)-2 11030 ZD=ZF+XX2+1 11040 ZE=ZD+CINT(XXR/2)-2 11050 COLOR 0,7 11060 PRINT " JOINT NUMBER ....."TAB(ZB)"1" TAB(ZF)"2" TAB(ZD)"3" TAB(80) "" 11070 PRINT "" TAB(23) AC$ TAB(80) "" 11080 PRINT " SPAN NUMBER ....."; 11090 IF LL<=0 GOTO 11110 11100 PRINT TAB(ZA)"L/C"; 11110 PRINT TAB(ZB)AB$ TAB(ZC) "SPAN 1" TAB(ZF)AB$ TAB(ZG) "SPAN 2" TAB(ZD)AB$; 11120 IF LR<=0 GOTO 11140 11130 PRINT TAB(ZE) "R/C"; 11140 PRINT TAB(80)"" 11150 PRINT TAB(ZB) AB$ TAB(ZF) AB$ TAB(ZD) AB$ TAB(80)"" 11160 PRINT " SPAN LENGTH (m) "; 11170 IF LL<=0 GOTO 11190 11180 PRINT TAB(ZA) LL; 11190 PRINT TAB(ZB)AB$ TAB(ZC) L(1) TAB(ZF)AB$ TAB(ZG) L(2) TAB(ZD) AB$; 11200 IF LR<=0 GOTO 11220 11210 PRINT TAB(ZE) LR; 11220 PRINT TAB(80)"" 11230 PRINT TAB(ZB) AB$ TAB(ZF) AB$ TAB(ZD) AB$ TAB(80)"" 11240 PRINT " SPAN LOAD (t/m)"; 11250 IF WL<=0 GOTO 11270 11260 PRINT TAB(ZA) WL; 11270 PRINT TAB(ZB)AB$ TAB(ZC) W(1) TAB(ZF)AB$ TAB(ZG) W(2) TAB(ZD) AB$; 11280 IF WR<=0 GOTO 11300 11290 PRINT TAB(ZE) WR; 11300 PRINT TAB(80)"" 11310 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 11320 PRINT " NEGT. MOMENT (t.m)"TAB(ZB-2) -MNL(1) TAB(ZF-2) MNR(1) TAB(ZD-2) MNR(2) TAB(80)"" 11322 IF DFS$="N" OR DFS$="n" GOTO 11330 11324 PRINT " Mu- @ FACE OF SUPP"TAB(ZB-2) MNF(1) TAB(ZF-2) MNF(2) TAB(ZD-2) MNF(3) TAB(80)"" 11330 PRINT "" TAB(23) AA$ TAB(80) "" 11340 PRINT " SUPP.REACTIONS (t)"; 11350 IF LL<=0 GOTO 11370 11360 PRINT TAB(ZB-7) RLC; 11370 PRINT TAB(ZB) AB$ TAB(ZB+1) RL(1) TAB(ZF-7) RR(1) TAB(ZF)AB$ TAB(ZF+1) RL(2) TAB(ZD-7) RR(2) TAB(ZD) AB$; 11380 IF LR<=0 GOTO 11400 11390 PRINT TAB(ZD+1) RRC; 11400 PRINT TAB(80)"" 11410 PRINT TAB(ZB) AB$ TAB(ZF) AB$ TAB(ZD) AB$ TAB(80)"" 11420 PRINT " Lft Dst.of M+mx(m)"TAB(ZB) AB$ TAB(ZC) XL(1) TAB(ZF) AB$ TAB(ZG) XL(2) TAB(ZD) AB$ TAB(80)"" 11430 PRINT TAB(ZB) AB$ TAB(ZF) AB$ TAB(ZD) AB$ TAB(80)"" 11440 PRINT " POST. MOMENT (t.m)"TAB(ZB) AB$ TAB(ZC) MP(1) TAB(ZF) AB$ TAB(ZG) MP(2) TAB(ZD) AB$ TAB(80)"" 11450 PRINT :COLOR 15,1 11460 RETURN 11500 '------------------ SUBROUTINE : Display Reinf' Details * TWO SPANS BEAM 11510 GOSUB 8500 11520 COLOR 0,7 11530 PRINT " JOINT NUMBER ....."TAB(ZB)"1" TAB(ZF)"2" TAB(ZD)"3" TAB(80) "" 11540 PRINT "" TAB(23) AC$ TAB(80) "" 11550 PRINT " SPAN NUMBER ....."; 11560 IF LL<=0 GOTO 11580 11570 PRINT TAB(ZA)"L/C"; 11580 PRINT TAB(ZB)AB$ TAB(ZC) "SPAN 1" TAB(ZF)AB$ TAB(ZG) "SPAN 2" TAB(ZD)AB$; 11590 IF LR<=0 GOTO 11610 11600 PRINT TAB(ZE) "R/C"; 11610 PRINT TAB(80)"" 11620 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 11630 PRINT " NEGT. MOMENT (t.m)"TAB(ZB-2) -MNL(1) TAB(ZF-2) MNR(1) TAB(ZD-2) MNR(2) TAB(80)"" 11632 IF DFS$="N" OR DFS$="n" GOTO 11640 11634 PRINT " Mu- @ FACE OF SUPP"TAB(ZB-2) MNF(1) TAB(ZF-2) MNF(2) TAB(ZD-2) MNF(3) TAB(80)"" 11640 PRINT "" TAB(23) AA$ TAB(80) "" 11650 PRINT " POST. MOMENT (t.m)"TAB(ZB) AB$ TAB(ZC) MP(1) TAB(ZF) AB$ TAB(ZG) MP(2) TAB(ZD) AB$ TAB(80)"" 11660 PRINT TAB(ZB) AB$ TAB(ZF) AB$ TAB(ZD) AB$ TAB(80)"" 11670 PRINT " CUT OFF POINTS (m)" TAB(ZB) AB$ TAB(ZB+1) XCL(1) TAB(ZF-6) XCR(1) TAB(ZF)AB$ TAB(ZF+1) XCL(2) TAB(ZD-6) XCR(2) TAB(ZD) AB$ TAB(80)"" 11680 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 11690 PRINT " As (req) TOP (cm2)"TAB(ZB-2) ASN(1) TAB(ZF-2) ASN(2) TAB(ZD-2) ASN(3) TAB(80)"" 11700 PRINT "" TAB(23) AA$ TAB(80)"" 11710 PRINT " As (req)BOTT (cm2)"TAB(ZB) AB$ TAB(ZC) ASP(1) TAB(ZF) AB$ TAB(ZG) ASP(2) TAB(ZD) AB$ TAB(80)"" 11720 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 11730 PRINT " REINF' - TOP "TAB(ZB-2) NBN(1);CHR$(237);DIAN(1)"mm" TAB(ZF-2) NBN(2);CHR$(237);DIAN(2)"mm" TAB(ZD-5) NBN(3);CHR$(237);DIAN(3)"mm" TAB(80)"" 11740 PRINT "" TAB(23) AA$ TAB(80) "" 11750 PRINT " REINF' - BOTTOM "TAB(ZB) AB$ TAB(ZC) NBP(1);CHR$(237);DIAP(1)"mm" TAB(ZF) AB$ TAB(ZG) NBP(2);CHR$(237);DIAP(2)"mm" TAB(ZD) AB$ TAB(80)"" 11760 COLOR 15,1 :PRINT 11770 RETURN 12000 '----------- SUBROUTINE : Display Structural Analysis * 3 - 7 SPANS 12010 IF N= 3 THEN XX1= 18 :XX= 55 12020 IF N= 4 THEN XX1= 14 :XX= 57 12030 IF N= 5 THEN XX1= 11 :XX= 56 12040 IF N= 6 THEN XX1= 9 :XX= 55 12050 IF N= 7 THEN XX1= 8 :XX= 57 12060 IF LL<=0 AND LR<=0 THEN XXT=XX :ZA= 15 12070 IF LL<=0 AND LR<>0 THEN XXT=XX+7 :ZA= 15 12080 IF LL<>0 AND LR<=0 THEN XXT=XX+7 :ZA= 8 12090 IF LL<>0 AND LR<>0 THEN XXT=XX+14 :ZA= 8 12100 AA$=STRING$(XXT,196) :AB$=CHR$(221) :AC$=STRING$(XXT,205) 12110 COLOR 0,7 12120 PRINT " JOINT "; 12130 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-2) I; :NEXT :PRINT TAB(80) "" 12140 PRINT "" TAB(ZA) AC$ TAB(80) "" 12150 PRINT " SPAN No"; 12160 IF LL<=0 GOTO 12180 12170 PRINT TAB(11)"L/C"; 12180 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) "SPAN"I; :NEXT :PRINT TAB(16+XX-2) AB$; 12190 IF LR<=0 GOTO 12210 12200 PRINT TAB(16+XX-1) "R/C"; 12210 PRINT TAB(80)"" 12220 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-1) AB$; :NEXT :PRINT TAB(80) "" 12230 PRINT " L (m)"; 12240 IF LL<=0 GOTO 12260 12250 PRINT TAB(8) LL; 12260 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) L(I); :NEXT :PRINT TAB(16+XX-2) AB$; 12270 IF LR<=0 GOTO 12290 12280 PRINT TAB(16+XX-1) LR; 12290 PRINT TAB(80)"" 12300 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-1) AB$; :NEXT :PRINT TAB(80) "" 12310 PRINT " W t/m "; 12320 IF WL<=0 GOTO 12340 12330 PRINT TAB(8) WL; 12340 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) W(I); :NEXT :PRINT TAB(16+XX-2) AB$; 12350 IF WR<=0 GOTO 12370 12360 PRINT TAB(16+XX-1) WR; 12370 PRINT TAB(80)"" 12380 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 12390 PRINT " M- t.m" TAB(12) -MNL(1); 12400 FOR I= 1 TO N :PRINT TAB(16+I*XX1-4) MNR(I); :NEXT :PRINT TAB(80) "" 12402 IF DFS$="N" OR DFS$="n" GOTO 12410 12404 PRINT " M-@ FC" TAB(12) MNF(1); 12406 FOR I= 1 TO N :PRINT TAB(16+I*XX1-4) MNF(I+1); :NEXT :PRINT TAB(80) "" 12410 PRINT "" TAB(ZA) AA$ TAB(80) "" 12420 PRINT " R.Lft "; 12430 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+(I-1)*XX1) RL(I); :NEXT :PRINT TAB(16+XX-2) AB$; 12440 IF LR<=0 GOTO 12460 12450 PRINT TAB(16+XX-1) RRC; 12460 PRINT TAB(80)"" 12470 PRINT " R.Rgt "; 12480 IF LL<=0 GOTO 12500 12490 PRINT TAB(8) RLC; 12500 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-8) RR(I); :NEXT :PRINT TAB(16+XX-2) AB$; 12510 PRINT TAB(80)"" 12520 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-1) AB$; :NEXT :PRINT TAB(80) "" 12530 PRINT " XL- m "; 12540 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) XL(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 12550 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-1) AB$; :NEXT :PRINT TAB(80) "" 12560 PRINT " M+ t.m"; 12570 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) MP(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 12580 PRINT :COLOR 15,1 12590 RETURN 12700 '---------------- SUBROUTINE : Display Reinf' Details * THREE SPANS BEAM 12710 GOSUB 8500 12720 COLOR 0,7 12730 PRINT " JOINT "; 12740 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-2) I; :NEXT :PRINT TAB(80) "" 12750 PRINT "" TAB(ZA) AC$ TAB(80) "" 12760 PRINT " SPAN No"; 12770 IF LL<=0 GOTO 12790 12780 PRINT TAB(11)"L/C"; 12790 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) "SPAN"I; :NEXT :PRINT TAB(16+XX-2) AB$; 12800 IF LR<=0 GOTO 12820 12810 PRINT TAB(16+XX-1) "R/C"; 12820 PRINT TAB(80)"" 12830 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 12840 PRINT " M- t.m" TAB(12) -MNL(1); 12850 FOR I= 1 TO N :PRINT TAB(16+I*XX1-4) MNR(I); :NEXT :PRINT TAB(80) "" 12852 IF DFS$="N" OR DFS$="n" GOTO 12860 12854 PRINT " M-@ FC" TAB(12) MNF(1); 12856 FOR I= 1 TO N :PRINT TAB(16+I*XX1-4) MNF(I+1); :NEXT :PRINT TAB(80) "" 12860 PRINT "" TAB(ZA) AA$ TAB(80) "" 12870 PRINT " M+ t.m"; 12880 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) MP(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 12890 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-1) AB$; :NEXT :PRINT TAB(80) "" 12900 PRINT " CUT Pt.Lft"; 12910 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+(I-1)*XX1) XCL(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 12920 PRINT " CUT Pt.Rgt"; 12930 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-8) XCR(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 12940 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 12950 PRINT " As- cm2"; 12960 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-4) ASN(I); :NEXT :PRINT TAB(80) "" 12970 PRINT "" TAB(ZA) AA$ TAB(80)"" 12980 PRINT " As+ cm2"; 12990 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) ASP(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 13000 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 13010 PRINT " RNF' TP"; 13020 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-4) NBN(I) CHR$(237) DIAN(I); :NEXT :PRINT TAB(80) "" 13030 PRINT "" TAB(ZA) AA$ TAB(80) "" 13040 PRINT " RNF' BT "; 13050 FOR I= 1 TO N :PRINT TAB(16+I*XX1-INT(XX1/2)-4) NBP(I) CHR$(237) DIAP(I); :NEXT :PRINT TAB(80) "" 13060 COLOR 15,1 :PRINT 13070 RETURN 15200 '------------------- SUBROUTINE : Display Reinf' Details * ONE SPAN BEAM 15210 GOSUB 8500 15220 COLOR 0,7 15230 PRINT " JOINT NUMBER ................"TAB(ZB)"1" TAB(ZD)"2" TAB(80) "" 15240 PRINT " " TAB(36) AC$ TAB(80) "" 15250 PRINT " SPAN NUMBER ................"; 15260 IF LL<=0 GOTO 15280 15270 PRINT TAB(ZA)"L/C"; 15280 PRINT TAB(ZB)AB$ TAB(ZC) "SPAN 1" TAB(ZD) AB$; 15290 IF LR<=0 GOTO 15310 15300 PRINT TAB(ZE) "R/C"; 15310 PRINT TAB(80)"" 15320 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 15330 PRINT " As (req) TOP (cm2)........"TAB(ZB-2) ASN(1) TAB(ZD-2) ASN(2) TAB(80)"" 15340 PRINT " " TAB(36) AA$ TAB(80)"" 15350 PRINT " As (req) BOTTOM (cm2)........"TAB(ZB) AB$ TAB(ZC) ASP(1) TAB(ZD) AB$ TAB(80)"" 15360 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 15370 PRINT " REINF' - TOP ............."TAB(ZB-2) NBN(1);CHR$(237);DIAN(1)"mm" TAB(ZD-5) NBN(2);CHR$(237);DIAN(2)"mm" TAB(80)"" 15380 PRINT " " TAB(36) AA$ TAB(80) "" 15390 PRINT " REINF' - BOTTOM ............."TAB(ZB) AB$ TAB(ZC) NBP(1);CHR$(237);DIAP(1)"mm" TAB(ZD) AB$ TAB(80)"" 15400 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 15410 PRINT " As (prv) TOP (cm2)........"TAB(ZB-2) ASPN(1) TAB(ZD-2) ASPN(2) TAB(80)"" 15420 PRINT " " TAB(36) AA$ TAB(80)"" 15430 PRINT " As (prv) BOTTOM (cm2)........"TAB(ZB) AB$ TAB(ZC) ASPP(1) TAB(ZD) AB$ TAB(80)"" 15440 COLOR 15,1 :PRINT 15450 RETURN 15500 '------------------ SUBROUTINE : Display Reinf' Details * TWO SPANS BEAM 15510 GOSUB 8500 15520 COLOR 0,7 15530 PRINT " JOINT NUMBER ....."TAB(ZB)"1" TAB(ZF)"2" TAB(ZD)"3" TAB(80) "" 15540 PRINT "" TAB(23) AC$ TAB(80) "" 15550 PRINT " SPAN NUMBER ....."; 15560 IF LL<=0 GOTO 15580 15570 PRINT TAB(ZA)"L/C"; 15580 PRINT TAB(ZB)AB$ TAB(ZC) "SPAN 1" TAB(ZF)AB$ TAB(ZG) "SPAN 2" TAB(ZD)AB$; 15590 IF LR<=0 GOTO 15610 15600 PRINT TAB(ZE) "R/C"; 15610 PRINT TAB(80)"" 15620 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 15630 PRINT " As (req) TOP (cm2)"TAB(ZB-2) ASN(1) TAB(ZF-2) ASN(2) TAB(ZD-2) ASN(3) TAB(80)"" 15640 PRINT "" TAB(23) AA$ TAB(80)"" 15650 PRINT " As (req)BOTT (cm2)"TAB(ZB) AB$ TAB(ZC) ASP(1) TAB(ZF) AB$ TAB(ZG) ASP(2) TAB(ZD) AB$ TAB(80)"" 15660 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 15670 PRINT " REINF' - TOP "TAB(ZB-2) NBN(1);CHR$(237);DIAN(1)"mm" TAB(ZF-2) NBN(2);CHR$(237);DIAN(2)"mm" TAB(ZD-5) NBN(3);CHR$(237);DIAN(3)"mm" TAB(80)"" 15680 PRINT "" TAB(23) AA$ TAB(80) "" 15690 PRINT " REINF' - BOTTOM "TAB(ZB) AB$ TAB(ZC) NBP(1);CHR$(237);DIAP(1)"mm" TAB(ZF) AB$ TAB(ZG) NBP(2);CHR$(237);DIAP(2)"mm" TAB(ZD) AB$ TAB(80)"" 15700 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 15710 PRINT " As (prv) TOP (cm2)"TAB(ZB-2) ASPN(1) TAB(ZF-2) ASPN(2) TAB(ZD-2) ASPN(3) TAB(80)"" 15720 PRINT "" TAB(23) AA$ TAB(80)"" 15730 PRINT " As (prv)BOTT (cm2)"TAB(ZB) AB$ TAB(ZC) ASPP(1) TAB(ZF) AB$ TAB(ZG) ASPP(2) TAB(ZD) AB$ TAB(80)"" 15740 COLOR 15,1 :PRINT 15750 RETURN 16000 '---------------- SUBROUTINE : Display Reinf' Details * THREE SPANS BEAM 16010 GOSUB 8500 16020 COLOR 0,7 16030 PRINT " JOINT "; 16040 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-2) I; :NEXT :PRINT TAB(80) "" 16050 PRINT "" TAB(ZA) AC$ TAB(80) "" 16060 PRINT " SPAN No"; 16070 IF LL<=0 GOTO 16090 16080 PRINT TAB(11)"L/C"; 16090 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) "SPAN"I; :NEXT :PRINT TAB(16+XX-2) AB$; 16100 IF LR<=0 GOTO 16120 16110 PRINT TAB(16+XX-1) "R/C"; 16120 PRINT TAB(80)"" 16130 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 16140 PRINT " As- cm2"; 16150 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-4) ASN(I); :NEXT :PRINT TAB(80) "" 16160 PRINT "" TAB(ZA) AA$ TAB(80)"" 16170 PRINT " As+ cm2"; 16180 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) ASP(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 16190 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 16200 PRINT " RNF' TP"; 16210 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-4) NBN(I) CHR$(237) DIAN(I); :NEXT :PRINT TAB(80) "" 16220 PRINT "" TAB(ZA) AA$ TAB(80) "" 16230 PRINT " RNF' BT "; 16240 FOR I= 1 TO N :PRINT TAB(16+I*XX1-INT(XX1/2)-4) NBP(I) CHR$(237) DIAP(I); :NEXT :PRINT TAB(80) "" 16250 COLOR 15,3 :PRINT "" TAB(80)"" :COLOR 0,7 16260 PRINT " Asp- cm2"; 16270 FOR I= 1 TO N+1 :PRINT TAB(16+(I-1)*XX1-4) ASPN(I); :NEXT :PRINT TAB(80) "" 16280 PRINT "" TAB(ZA) AA$ TAB(80)"" 16290 PRINT " Asp+ cm2"; 16300 FOR I= 1 TO N :PRINT TAB(16+(I-1)*XX1-1) AB$ TAB(16+I*XX1-INT(XX1/2)-4) ASPP(I); :NEXT :PRINT TAB(16+XX-2) AB$ TAB(80) "" 16310 COLOR 15,1 :PRINT 16320 RETURN